#!/bin/bash

# 配置参数
BACKUP_DIR="/home/xf/dbbackup/mics_backup"  # 备份存储目录
MYSQL_CNF="/home/xf/dbbackup/.my.cnf"       # MySQL配置文件（包含用户和密码）
DATABASES="novomics"        # 需要备份的数据库名称（空格分隔）
DAYS_TO_KEEP=7                  # 保留备份的天数

# 创建备份目录（如果不存在）
mkdir -p "$BACKUP_DIR"

# 生成日期戳
DATE=$(date +%Y%m%d%H%M%S)

# 备份文件名（带日期）
BACKUP_FILE=$BACKUP_DIR"/"$DATABASES"_backup_"$DATE".sql.gz"

# 使用mysqldump备份指定数据库并压缩
echo "开始备份数据库：$DATABASES..."
mysqldump --defaults-extra-file="$MYSQL_CNF" --databases $DATABASES | gzip > "$BACKUP_FILE"

# 检查备份是否成功
if [ $? -eq 0 ]; then
    echo "备份成功：$BACKUP_FILE"
else
    echo "备份失败！"
    exit 1
fi

# 删除旧备份（保留最近7天）
find "$BACKUP_DIR" -type f -name "mysql_backup_*.sql.gz" -mtime +$((DAYS_TO_KEEP-1)) -exec rm -v {} \;
